/*
 * Copyright (C) 2017-2021
 * All rights reserved, Designed By
 * Copyright authorization contact 18814114118
 */
package com.shop.cereshop.app.service.product;

import com.github.pagehelper.PageInfo;
import com.shop.cereshop.app.page.product.ProductListVO;
import com.shop.cereshop.app.page.productDetail.ShopProductDetailVO;
import com.shop.cereshop.app.param.product.ProductDTO;
import com.shop.cereshop.app.param.product.ProductListParam;
import com.shop.cereshop.app.param.product.SearchProductParam;
import com.shop.cereshop.commons.exception.CoBusinessException;
import com.shop.cereshop.commons.result.Result;

import java.util.List;

public interface ShopProductV2Service {

    /**
     * 获取店铺详情页的商品列表
     *
     * @param param
     * @return
     */
    PageInfo<ProductListVO> getShopProductPage(ProductListParam param) throws CoBusinessException;

    /**
     * 搜索商品列表
     *
     * @param param
     * @return
     */
    PageInfo<ProductListVO> searchProductList(SearchProductParam param);

    /**
     * 获取用户收藏商品列表
     *
     * @param param
     * @return
     */
    PageInfo<ProductListVO> getUserCollectProductList(SearchProductParam param);

    /**
     * 获取商品热榜列表
     *
     * @param cityCode
     * @return
     */
    Result<List<ProductListVO>> productHotList(String cityCode);

    /**
     * 获取商品详情
     *
     * @param param 商品参数
     * buyerUserId 买家id
     * @return
     */
    ShopProductDetailVO getProductDetail(ProductDTO param, Long buyerUserId) throws Exception;


}
